package com.serviceprovider.business.module.admin.shipping.services.dao.interfaces;

//~--- non-JDK imports --------------------------------------------------------

import com.serviceprovider.business.module.admin.shipping.model.*;

//~--- JDK imports ------------------------------------------------------------

import java.util.*;

/**
 * This interface defines functions related to shipping
 * @author mrduongnv@gmail.com
 *
 */
public interface IShippingService {

    /**
     * Creates a new shipping record
     * @param ship A Shipping object
     */
    public void create(Shipping ship);

    /**
     * Updates an existing shipping record
     * @param ship A Shipping object
     */
    public void modify(Shipping ship);

    /**
     * Removes a shipping record
     * @param shipId ID of shipping to be deleted
     */
    public void delete(int shipId);

    /**
     * Retrieves all shipping records
     * @return a list of shipping records
     */
    public List<Shipping> list();

    /**
     *
     * @param shipId ID of shipping
     * @return A Shipping object if found, otherwise null
     */
    public Shipping get(int shipId);
}



